home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 4
/
Aminet 4 - November 1994.iso
/
aminet
/
dev
/
gui
/
muibuilderv11.lha
/
muibuilder
/
mb
/
e
/
Application.e
next >
Wrap
Text File
|
1994-03-07
|
2KB
|
80 lines
/******************************************************************************
Here is an example of an "environnement file". All you have to do, si to
fill it with :
- use MUIBuilder+GenCodeE to generate the create_app() function
- add the code for your application !!!
******************************************************************************/
OPT OSVERSION=37
/* Module definitions */
MODULE 'muimaster', 'libraries/mui'
MODULE 'utility/tagitem', 'utility/hooks'
MODULE 'intuition/classes', 'intuition/classusr'
/* Error handling */
ENUM NO_LIBRARY, MUI_APPLICATION_FAILURE
RAISE NO_LIBRARY IF OpenLibrary()=NIL,
MUI_APPLICATION_FAILURE IF Mui_NewObjectA()=NIL
/* Constant definitions */
CONST MUI_TRUE = 1
/* Global variables */
/*MUIB*/
/* Main procedure */
PROC main() HANDLE
DEF signal, result_DoMethod, running = TRUE
muimasterbase := OpenLibrary('muimaster.library', 0)
create_app()
WHILE running
result_DoMethod := doMethod( app, [ MUIM_Application_Input, {signal} ] )
SELECT result_DoMethod
CASE MUIV_Application_ReturnID_Quit
running := FALSE
ENDSELECT
IF (running AND signal) THEN Wait( signal )
ENDWHILE
Mui_DisposeObject( app )
CloseLibrary( muimasterbase )
EXCEPT
SELECT exception
CASE NO_LIBRARY
CASE MUI_APPLICATION_FAILURE
ENDSELECT
ENDPROC
/* Procedure generated by GenCodeE which creates your application */
PROC create_app()
ENDPROC
/* DoMethod() function */
PROC doMethod( obj:PTR TO object, msg:PTR TO msg )
DEF h:PTR TO hook, o:PTR TO object, dispatcher
IF obj
o := obj-SIZEOF object /* instance data is to negative offset */
h := o.class
dispatcher := h.entry /* get dispatcher from hook in iclass */
MOVEA.L h,A0
MOVEA.L msg,A1
MOVEA.L obj,A2 /* probably should use CallHookPkt, but the */
MOVEA.L dispatcher,A3 /* original code (DoMethodA()) doesn't. */
JSR (A3) /* call classDispatcher() */
MOVE.L D0,o
RETURN o
ENDIF
ENDPROC NIL